package com.sxj.corejava.code12_线程;

/**
 * @author 石小俊
 * @date 2025年02月24日
 */
public class Test01_继承Thread类 {

    public static void main(String[] args) {
        // JVM在启动时会自动创建一个线程,用来执行main方法,该线程称之为主线程
        // 想要实现多线程,需要在主线程中创建新的线程
        // 实际上,在Java程序运行期间至少会自动启动两个线程:main线程、gc守护线程
        SomeThread t1 = new SomeThread("t1");
        SomeThread t2 = new SomeThread("t2");
        // 线程的启动不能使用调用方法的方式
        // 如果调用run方法,表示执行方法,与线程无关
        // 因此不会出现多个线程抢CPU时间片的情况
//        t1.run();
//        t2.run();

        // 启动线程
        t1.start();
        t2.start();
    }
}

class SomeThread extends Thread {

    private String name;

    public SomeThread(String name) {
        this.name = name;
    }

    //重写run方法,run方法中的内容是线程需要执行的代码
    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            // System.out.println(name + "线程正在打印数字:" + i);
            // 默认线程名
            System.out.println(super.getName() + "线程正在打印数字:" + i);
        }
    }
}